Session এবং Application হল ASP.NET বা অন্য ওয়েব অ্যাপ্লিকেশনগুলিতে স্টেট ম্যানেজমেন্টের জন্য ব্যবহৃত দুটি সাধারণ ধারণা। তারা ওয়েব অ্যাপ্লিকেশনটির স্টেট (অথবা ডেটা) সংরক্ষণ করতে সহায়তা করে, তবে তাদের ব্যবহারের পরিসর এবং জীবনকাল ভিন্ন।
Session State একাধিক HTTP রিকোয়েস্টের মধ্যে ইউজারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। যখন ইউজার ওয়েব অ্যাপ্লিকেশনে প্রথম প্রবেশ করে, তখন একটি নতুন সেশন তৈরি হয় এবং একটি ইউনিক সেশন আইডি বরাদ্দ করা হয় যা ইউজারের ব্রাউজারে কুকি হিসেবে সংরক্ষিত থাকে।
ASP.NET এ Session State ব্যবহারের মাধ্যমে আপনি নির্দিষ্ট সেশনের মধ্যে ডেটা সংরক্ষণ করতে পারেন। এটি সাধারণত ইউজারের লগইন তথ্য, কাস্টমাইজড সেটিংস বা অন্যান্য অস্থায়ী ডেটার জন্য ব্যবহৃত হয়।
// Session এ ডেটা সেট করা
Session["UserName"] = "John Doe";
Session["CartItems"] = 5;
// Session থেকে ডেটা পড়া
string userName = Session["UserName"].ToString();
int cartItems = (int)Session["CartItems"];
এখানে:
Session["UserName"] = "John Doe";
– ইউজারের নাম সেশন স্টেটে সংরক্ষণ করা হয়েছে।Session["CartItems"] = 5;
– ইউজারের কার্টের আইটেমের সংখ্যা সংরক্ষণ করা হয়েছে।Session এর ডেটা সাধারণত ইউজারের সেশন শেষ হওয়ার পর (যেমন ব্রাউজার বন্ধ হলে) অথবা নির্দিষ্ট সময়ের পর মুছে যায়।
ASP.NET এ সেশন টাইমআউট কনফিগার করা যেতে পারে যাতে সেশন একটি নির্দিষ্ট সময় পর স্বয়ংক্রিয়ভাবে শেষ হয়ে যায়।
<system.web>
<sessionState timeout="20" /> <!-- সেশন ২০ মিনিট পর এক্সপায়ার হবে -->
</system.web>
Application State গ্লোবাল স্কোপে ডেটা সংরক্ষণ করে, যা সব ইউজারের জন্য শেয়ার করা হয় এবং অ্যাপ্লিকেশনটির লাইফটাইমের জন্য স্থায়ী থাকে যতক্ষণ না অ্যাপ্লিকেশনটি পুনরায় শুরু হয়। এটি সাধারণত কমন কনফিগারেশন, কাস্টম তথ্য, এবং অ্যাপ্লিকেশনের সার্বিক স্টেটের জন্য ব্যবহৃত হয়।
ASP.NET এ Application State ব্যবহার করে গ্লোবাল ডেটা সংরক্ষণ করা হয়, যা অ্যাপ্লিকেশনের সমস্ত ইউজারদের জন্য প্রবাহিত হতে পারে।
// Application স্টেটে ডেটা সেট করা
Application["AppName"] = "My Cool Application";
Application["TotalUsers"] = 500;
// Application থেকে ডেটা পড়া
string appName = Application["AppName"].ToString();
int totalUsers = (int)Application["TotalUsers"];
এখানে:
Application["AppName"] = "My Cool Application";
– অ্যাপ্লিকেশনের নাম Application State-এ সংরক্ষিত।Application["TotalUsers"] = 500;
– অ্যাপ্লিকেশনের মোট ইউজারের সংখ্যা সংরক্ষিত।Application State তেমন Session State নয়, এর ডেটা অ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত উপলব্ধ থাকে এবং সমস্ত ইউজারের জন্য শেয়ার করা হয়।
বৈশিষ্ট্য | Session State | Application State |
---|---|---|
ডেটা স্কোপ | শুধুমাত্র এক ইউজারের জন্য | সমস্ত ইউজারদের জন্য গ্লোবাল ডেটা |
লেখা/পড়ার সুযোগ | এক ইউজারের সেশন পর্যন্ত সীমাবদ্ধ | অ্যাপ্লিকেশনের লাইফটাইম পর্যন্ত |
ডেটা মুছে যাওয়া | সেশন শেষ হলে অথবা টাইমআউট হলে | অ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত |
ডেটা সংরক্ষণের সময়কাল | সেশন শেষ হলে ডেটা মুছে যায় | অ্যাপ্লিকেশন চালু থাকা পর্যন্ত ডেটা থাকে |
ব্যবহার | ইউজারের ব্যক্তিগত ডেটা (লগইন ইনফরমেশন, কার্ট ইত্যাদি) | সাধারণ অ্যাপ্লিকেশন ডেটা (কনফিগারেশন, গ্লোবাল স্টেট) |
common.read_more